package com.zzy.socket.socket_demo;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class SocketClient {
	
	public static void main(String args[]) throws Exception {
		// 要连接的服务端IP地址和端口
		String host = "127.0.0.1";
		int port = 55533;
		// 与服务端建立连接
		Socket socket = new Socket(host, port);
		
		// 建立连接后获得输出流
		OutputStream outputStream = socket.getOutputStream();
		String message = "你好 弄潮儿";
		System.out.println("客户端: ------发消息--------:  " + message);
		socket.getOutputStream().write(message.getBytes("UTF-8"));
		// 通过shutdownOutput高速服务器已经发送完数据，后续只能接受数据
		socket.shutdownOutput();

		// 接受服务端反馈
		InputStream inputStream = socket.getInputStream();
		byte[] bytes = new byte[1024];
		int len;
		StringBuilder sb = new StringBuilder();
		while ((len = inputStream.read(bytes)) != -1) {
			// 注意指定编码格式，发送方和接收方一定要统一，建议使用UTF-8
			sb.append(new String(bytes, 0, len, "UTF-8"));
		}
		System.out.println("客户端:---------收消息------: " + sb);
		inputStream.close();
		outputStream.close();
		socket.close();
	}
}